package likou.offer;

/**
 * @Info:
 * @Author: 唐小尊
 * @Date: 2020/8/26  9:56
 */
public class _43 {
    public static void main(String[] args) {
        System.out.println(countDigitOne(12));
    }

    //可能性！
    public static int countDigitOne(int n) {
        int digit = 1, res = 0;
        int high = n / 10, cur = n % 10, low = 0;
        while(high != 0 || cur != 0) {
            if(cur == 0) {
                res += high * digit;
            } else if(cur == 1) {
                res += high * digit + low + 1;
            } else {
                res += (high + 1) * digit;
            }
            low += cur * digit;
            cur = high % 10;
            high /= 10;
            digit *= 10;
        }
        return res;
    }
}
